﻿using Xejen.Communication.Endpoints;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Xejen.Communication.Logger
{
    /// <inheritdoc cref="ILogData{TCommunicationAddress, TResponse}"/>
    internal class LogData<TCommunicationAddress, TResponse> : ILogData<TCommunicationAddress, TResponse>
        where TResponse : class, IResult, new()
    {
        /// <inheritdoc/>
        public Task Task { get; set; }

        /// <inheritdoc/>
        public TCommunicationAddress Address { get; set; }

        /// <inheritdoc/>
        public object Input { get; set; }

        /// <inheritdoc/>
        public TResponse Response { get; set; }

        /// <inheritdoc/>
        public ExecutionInfo ExecutionInfo { get; set; }

        /// <inheritdoc cref="LogData{TCommunicationAddress, TResponse}"/>
        public LogData() { }
    }
}
